/*
 * @文件描述: 接口拦截器配置
 * @创建人: 李奔
 * @Date: 2021-11-08 10:52:24
 * @最后编辑人: 李奔
 * @LastEditTime: 2022-08-01 10:50:59
 */
import axios from 'axios';
import { Message } from 'view-ui-plus';
export const service = axios.create({
  baseURL:
    process.env.NODE_ENV === 'production' //正式生产环境，程序最终发布后所需要的参数配置
      ? process.env.VUE_APP_BASE_HOST + process.env.VUE_APP_BASE_API
      : process.env.VUE_APP_BASE_API,
  // 超时
  timeout: 30000
});
// request拦截器
service.interceptors.request.use(
  (config) => {
    // TODO 这里配置一些请求头TOKEN等
    return config;
  },
  (error) => {
    Promise.reject(error);
  }
);

// 响应拦截器
service.interceptors.response.use(
  (res) => {
    // 未设置状态码则默认成功状态
    if (res.status == 200) {
      return res.data;
    } else {
      // TODO特定的code处理，如登录过期的逻辑处理等
      // Message.info('hello');
      return Promise.reject(res);
    }
  },
  (error) => {
    console.log(error.response);
    // TODO获取错误信息，可直接写死文字，也可通过后端接口返回的msg动态展示
    Message.error('系统繁忙');
    return Promise.reject(error);
  }
);
